/********************************************************************************/
/* 本会员管理系统是一款使用 C 语言开发的轻量级、功能实用的管理工具，旨在帮助企	*/
/* 业或组织高效地管理会员信息、会员进出情况以及管理员权限操作等，满足日常会员们	*/
/* 的业务营需求，尤其适用于对数据量要求不大、追求简洁高效的应用场景。		*/
/* 										*/
/* 新会员注册：录入卡号、姓名等信息，校验格式及卡号唯一性，建立规范档案。	*/
/* 会员信息修改：管理员可更新会员联系方式、等级等信息，确保数据实时准确。	*/
/* 会员注销：管理员可注销失效会员账号，维护数据有效性。				*/
/* 会员信息查看：会员自助查询个人信息;管理员多条件(姓名,卡号等)检索,管理等      */
/* 										*/
/* 入场离场管理:								*/
/* 记录会员出入时间，入场时自动身份及卡有效性(有效期、状态等)，支撑台桌资源调度 */
/* 与秩序维护。									*/		
/*										*/
/* 管理员认证:									*/
/* 凭用户名密码登录，认证通过方可操作会员信息修改、注销等关键功能，保障数据安全	*/
/* 系统全面面覆盖台球厅会员管理核心环节，助力高效运营。				*/
/********************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include "member_manage_types.h"
#include "common.h"



int main()
{
	int op;

	//生成一个菜单
	printf("您好，欢迎光临TT台球会所！\n\n");
	printf("请按照如下提示输入会员信息。\n\n");
	printf("菜单:\n[1]新会员注册\n[2]会员信息注销\n[3]会员修改\n[4]会员信息自助查看\n[5]管理员查看会员信息\n[6]入场管理\n[7]离场管理\n[8]管理员\n[0]退出系统\n");	

	while(1)
	{
		printf("\n:>");

		//防止乱输入值导致程序出错
		if(scanf("%d",&op) != 1)
		{			//输入失败
			op = -1;		//清空缓冲区，避免下一次 scanf调用
		}

		switch(op)
		{
			case 0:		//退出系统
				{
					printf("\n");
					exit(0);
				}

			case 1:		//会员注册
				{
					printf("请验证管理员身份！\n");
				}
				break;

			case 2:		//会员信息注销
				{
					printf("会员信息注销(管理员)\n");
					adminAuthentication(NULL);
					press_any_key();
				}
				break;

			case 3:		//会员修改
				{
					printf("请验证管理员身份！\n");
					adminAuthentication(NULL);
					press_any_key();
				}
				break;

			case 4:         //会员信息查看

				{
					member_show();
					press_any_key();
				}
				break;

			case 5:         //管理员查看会员信息
				{		
					printf("请验证管理员身份！\n");
					adminAuthentication(NULL);									member_show();	
				}
				break;

			case 6:         //入场管理
				{
					printf("入场管理\n");

				}
				break;

			case 7:		//离场管理

				{
					printf("离场管理\n");

				}
				break;

			case 8:		//管理员
				{
					printf("请验证管理员身份！\n");	
					adminAuthentication(NULL);
				}		press_any_key();
				break;
		}

	}



	return 0;
}

